Real-time transmission of video over the Internet involves the transmission of a sequence of pictures or frames from a source computer to one or more destination computers. The sequence of frames is often generated by a video encoder module, according to one of any number of video compression and encoding standards. Each frame is divided into packets and the packets are transmitted or “streamed” by the source computer to the destination computers over an enterprise-wide IP network or the Internet.
Because of the nature of Internet communications, it is possible that one or more of the packets in the video stream may be lost during transmission, or may arrive at the destination computer corrupted. Traditional techniques for the streaming of video over the Internet may account for the loss of a packet in the video steam by retransmitting the individual packet to the destination computer, or including error correction information in the transmission, as in forward error correction (“FEC”). These techniques may reduce efficiency of available bandwidth utilization, however, since they often result in the unnecessary re-transmission of data or redundant data transmitted in the video stream.
It is with respect to these considerations and others that the disclosure made herein is presented.